var id_direccion_select = 0;
var id_pais_select = 0;
var id_provincia_select = 0;
var lista_provincias = "";



function cargar_paises() {
	$("#pais,#pais_factura").addClass("cargando");
	var url = "/DireccionAction.do?metodo=CargarListaPaises";
   	$.ajax({
    	url: url, 
    	dataType: 'json',
    	cache: false,
    	async: false,
    	timeout: 30000,
    	selectFirst: false,
    	success: function (responseText, textStatus , XMLHttpRequest) {
					if(textStatus == "success") {	
        				$("#pais,#pais_factura").unautocomplete().autocomplete(responseText, {
                      		autofill: false,
                      		matchContains: true,
                      		width: 200,
                      		minChars: 0,
                      		scroll: true,
                      		dataType: "json",
                      		parse: function(data) {
		    					return $.map(data, function(row) {							
		    						return {
		    							data: row,
		    							value: row.id_pais,
		    							result: row.nombre
		    							}
		    						});
		    					},
	    	            	formatItem: function(row, i, max) {
	    	    				return row.nombre;
	    	    			},
	    	        		formatMatch: function(row, i, max) {
	    	        			return row.nombre;
	    	        		},
	    	        		formatResult: function(row) {
	    	        			return row.nombre;
	    	        		}     							                    		
    					});		
        				$("#pais,#pais_factura").removeClass("cargando");       				
    					
	            		$("#pais,#pais_factura").result(function(event, data, formatted) {	
	            			id_pais_select = data.id_pais;
	            			cargar_provincias();        			
	            		});
        				    				
					}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			alert('<h1>Error al intentar conectar con el sistema</h1><br /><p>Reinténtelo de nuevo.<br />Si continúa fallando, salga de la aplicación y entre otra vez. </p>');
		}				
	});	   				
}

function cargar_provincias() {
	$("#provincia,#provincia_factura").addClass("cargando");
	var url = "/DireccionAction.do?metodo=CargarListaProvinciasPorPais&id_pais=" + id_pais_select;
   	$.ajax({
    	url: url, 
    	dataType: 'json',
    	cache: false,
    	async: false,
    	timeout: 30000,
    	selectFirst: false,
    	success: function (responseText, textStatus , XMLHttpRequest) {
					if(textStatus == "success") {	
						lista_provincias = responseText;
        				$("#provincia,#provincia_factura").unautocomplete().autocomplete(responseText, {
                      		autofill: false,
                      		matchContains: true,
                      		width: 200,
                      		minChars: 0,
                      		scroll: true,
                      		dataType: "json",
                      		parse: function(data) {
		    					return $.map(data, function(row) {							
		    						return {
		    							data: row,
		    							value: row.id_provincia,
		    							result: row.nombre
		    							}
		    						});
		    					},
	    	            	formatItem: function(row, i, max) {
	    	    				return row.nombre;
	    	    			},
	    	        		formatMatch: function(row, i, max) {
	    	        			return row.nombre;
	    	        		},
	    	        		formatResult: function(row) {
	    	        			return row.nombre;
	    	        		}     							                    		
    					});
        				$("#provincia,#provincia_factura").attr("value","");
        				$("#provincia,#provincia_factura").removeClass("cargando");       				
    					
	            		$("#provincia,#provincia_factura").result(function(event, data, formatted) {	
	            			id_provincia_select = data.id_provincia;	            			
	            		});
        				    				
					}
		},
		error: function (XMLHttpRequest, textStatus, errorThrown) {
			alert('<h1>Error al intentar conectar con el sistema</h1><br /><p>Reinténtelo de nuevo.<br />Si continúa fallando, salga de la aplicación y entre otra vez. </p>');
		}				
	});	   					
}

function actualizar_provincia() {	
	$.each(lista_provincias, function(x) {					
       	row = lista_provincias[x];	
       	if(row.id_provincia == id_provincia_select) {			           	               	
       		$("#provincia").attr("value", row.nombre);
       	}
	});
}

function editar_direccion(id_direccion) {
	id_direccion_select = id_direccion;
	$.each(lista_direcciones_propietario, function(x) {
		var _direccion = lista_direcciones_propietario[x];
		if(_direccion.direccion.id_direccion == id_direccion) {
			$("#activa_direccion").attr("checked",(("S" ==  _direccion.activa) ? "checked" : ""));
			$("#calle").attr("value", _direccion.direccion.calle);
			$("#codigo_postal").attr("value", _direccion.direccion.codigo_postal);
			$("#poblacion").attr("value", _direccion.direccion.poblacion);
			$("#observaciones_direccion").attr("value", _direccion.observaciones);
			$("#pais").attr("value", _direccion.direccion.provincia.pais.nombre);
			id_propietario_direccion_select = _direccion.id_propietario_direccion;
			id_pais_select = _direccion.direccion.provincia.pais.id_pais;		
			cargar_provincias();				
			id_provincia_select = _direccion.direccion.provincia.id_provincia;
			actualizar_provincia();
		}
	});		
	$("#v_direccion").dialog("open");	
}
